"use strict";

const path = require("node:path");
const webpack = require("webpack");
// 可能需要 pnpm onlyBuiltDependencies 才行
// const AddAssetHtmlWebpackPlugin = require("add-asset-html-webpack-plugin");

// module.exports = {
//   // ...省略其他配置
//   plugins: [
//     new webpack.DllReferencePlugin({
//       context: __dirname,
//       // manifest 就是之前打包出来的 json 文件
//       manifest: require("./dist/vendor-manifest.json"),
//     }),
//   ],
// };
// 还有另外一种写法: 在html页面引入的方式
/**
 * @type {import("webpack").Configuration}
 */
module.exports = {
  // ...省略其他配置
  plugins: [
    // 告诉webpack哪些库不需要参与打包，同时使用时的名称也得变~
    new webpack.DllReferencePlugin({
      context: __dirname,
      // manifest 就是之前打包出来的 json 文件
      manifest: resolve("./dist/vendor-manifest.json"),
    }),
    // 将某个文件打包输出出去，并在html中自动引入该资源文件
    // new AddAssetHtmlWebpackPlugin({
    //   filepath: resolve(__dirname, "dist/vendor.js"),
    // }),
  ],
};
